package com.ikun.kunpicturebackend.service;

import com.ikun.kunpicturebackend.domain.Space;
import com.ikun.kunpicturebackend.domain.User;
import com.ikun.kunpicturebackend.model.dto.analyze.*;
import com.ikun.kunpicturebackend.model.vo.space.analyze.*;

import java.util.List;

/**
 * 空间分析service
 */
public interface SpaceAnalyzeService {

    /**
     * 获取空间使用分析数据
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    SpaceUsageAnalyzeResponse getSpaceUsageAnalyze(SpaceUsageAnalyzeRequest analyzeRequest, User loginUser);

    /**
     * 分类分析
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    List<SpaceCategoryAnalyzeResponse> getSpaceCategoryAnalyze(SpaceCategoryAnalyzeRequest analyzeRequest, User loginUser);

    /**
     * 标签分析
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    List<SpaceTagAnalyzeResponse> getSpaceTagAnalyze(SpaceTagAnalyzeRequest analyzeRequest, User loginUser);

    /**
     * 统计图片大小不同区段的数量
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    List<SpaceSizeAnalyzeResponse> getSpaceSizeAnalyze(SpaceSizeAnalyzeRequest analyzeRequest, User loginUser);

    /**
     * 用户上传分析
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    List<SpaceUserAnalyzeResponse> getSpaceUserAnalyze(SpaceUserAnalyzeRequest analyzeRequest, User loginUser);

    /**
     * 空间排行分析
     * @param analyzeRequest
     * @param loginUser
     * @return
     */
    List<Space> getSpaceRankAnalyze(SpaceRankAnalyzeRequest analyzeRequest, User loginUser);
}
